local assets = -- 定义预制件所需的资源
{
    Asset("ANIM", "anim/shadowhandsfx.zip"),  -- 特效动画文件
}

local function fn() -- 预制件的构造函数
    local inst = CreateEntity() -- 创建实体实例


    inst.entity:AddTransform()       -- 添加坐标变换组件，允许实体在世界中定位
    local anim = inst.entity:AddAnimState()       -- 添加动画状态组件，用于控制动画播放
    anim:SetBank("shadowhandsfx") -- 设置动画库(Bank)为 "shadowhandsfx"
    anim:SetBuild("shadowhandsfx") -- 设置动画构建(Build)为 "shadowhandsfx"
    anim:PlayAnimation("catch") -- 播放名为 "catch" 的动画
    anim:SetScale(0.7,0.7,0.7) -- 设置动画的缩放比例为 70%

    -- 设置为纯净状态，表示这个实体不需要持久化保存
    --inst.entity:SetPristine()

    -- 特效在1秒后移除 (DS 中总是执行)
    inst:DoTaskInTime(1, inst.Remove)
    return inst -- 返回创建的实体实例
end

-- 注册名为 "shadowhandsfx" 的预制件
-- fn 是创建实例的函数
-- assets 是该预制件所需的资源
return Prefab("shadowhandsfx", fn, assets)